/**
 * Copyright &copy; 2012-2017 <a href="https://vivo.com">vivo</a> All rights reserved.
 */
package com.vivo.finance.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.utils.excel.annotation.ExcelField;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 电子保卡Entity
 * @author jyangye
 * @version 2018-01-21
 */
public class ViDeaElectroniccard extends DataEntity<ViDeaElectroniccard> {
	
	private static final long serialVersionUID = 1L;
	private String mainimei;		// 主串号
	private String subimei;		// 副串号
	private Date registrytime;		// 注册时间
	private String agentercode;		// 代理编码
	private Date factorytime;		// 工厂提交时间
	private String remark;		// 备注
	private String beginwarehouseid;		// 初期仓库
	private String currentwarehouseid;		// 当前仓库
	private String waresid;		// 商品iD
	private String telephone;		// 手机号码
	private String firstsaleswarehouseid;		// 首次销售仓库ID
	private String consignmentmode;		// 寄售模式
	private String logonmode;		// 登陆模式
	private String operatortype;		// 操作类型
	private Date beginRegistrytime;		// 开始 注册时间
	private Date endRegistrytime;		// 结束 注册时间
	private Date beginFactorytime;		// 开始 工厂提交时间
	private Date endFactorytime;		// 结束 工厂提交时间
	
	public ViDeaElectroniccard() {
		super();
	}

	public ViDeaElectroniccard(String id){
		super(id);
	}

	@Length(min=1, max=50, message="主串号长度必须介于 1 和 50 之间")
	@ExcelField(title="主串号", align=2, sort=20)
	public String getMainimei() {
		return mainimei;
	}

	public void setMainimei(String mainimei) {
		this.mainimei = mainimei;
	}
	
	@Length(min=0, max=50, message="副串号长度必须介于 0 和 50 之间")
	@ExcelField(title="副串号", align=2, sort=30)
	public String getSubimei() {
		return subimei;
	}

	public void setSubimei(String subimei) {
		this.subimei = subimei;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="注册时间", align=2, sort=40)
	public Date getRegistrytime() {
		return registrytime;
	}

	public void setRegistrytime(Date registrytime) {
		this.registrytime = registrytime;
	}
	
	@Length(min=0, max=10, message="代理编码长度必须介于 0 和 10 之间")
	@ExcelField(title="代理编码", align=2, sort=50)
	public String getAgentercode() {
		return agentercode;
	}

	public void setAgentercode(String agentercode) {
		this.agentercode = agentercode;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="工厂提交时间", align=2, sort=60)
	public Date getFactorytime() {
		return factorytime;
	}

	public void setFactorytime(Date factorytime) {
		this.factorytime = factorytime;
	}
	
	@Length(min=0, max=3200, message="备注长度必须介于 0 和 3200 之间")
	@ExcelField(title="备注", align=2, sort=70)
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
	@Length(min=0, max=11, message="初期仓库长度必须介于 0 和 11 之间")
	@ExcelField(title="初期仓库", align=2, sort=80)
	public String getBeginwarehouseid() {
		return beginwarehouseid;
	}

	public void setBeginwarehouseid(String beginwarehouseid) {
		this.beginwarehouseid = beginwarehouseid;
	}
	
	@Length(min=0, max=11, message="当前仓库长度必须介于 0 和 11 之间")
	@ExcelField(title="当前仓库", align=2, sort=90)
	public String getCurrentwarehouseid() {
		return currentwarehouseid;
	}

	public void setCurrentwarehouseid(String currentwarehouseid) {
		this.currentwarehouseid = currentwarehouseid;
	}
	
	@Length(min=0, max=11, message="商品iD长度必须介于 0 和 11 之间")
	@ExcelField(title="商品iD", align=2, sort=100)
	public String getWaresid() {
		return waresid;
	}

	public void setWaresid(String waresid) {
		this.waresid = waresid;
	}
	
	@Length(min=0, max=50, message="手机号码长度必须介于 0 和 50 之间")
	@ExcelField(title="手机号码", align=2, sort=110)
	public String getTelephone() {
		return telephone;
	}

	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}
	
	@Length(min=0, max=11, message="首次销售仓库ID长度必须介于 0 和 11 之间")
	@ExcelField(title="首次销售仓库ID", align=2, sort=120)
	public String getFirstsaleswarehouseid() {
		return firstsaleswarehouseid;
	}

	public void setFirstsaleswarehouseid(String firstsaleswarehouseid) {
		this.firstsaleswarehouseid = firstsaleswarehouseid;
	}
	
	@Length(min=0, max=1, message="寄售模式长度必须介于 0 和 1 之间")
	@ExcelField(title="寄售模式", align=2, sort=130)
	public String getConsignmentmode() {
		return consignmentmode;
	}

	public void setConsignmentmode(String consignmentmode) {
		this.consignmentmode = consignmentmode;
	}
	
	@Length(min=0, max=1, message="登陆模式长度必须介于 0 和 1 之间")
	@ExcelField(title="登陆模式", align=2, sort=140)
	public String getLogonmode() {
		return logonmode;
	}

	public void setLogonmode(String logonmode) {
		this.logonmode = logonmode;
	}
	
	@Length(min=0, max=1, message="操作类型长度必须介于 0 和 1 之间")
	@ExcelField(title="操作类型", align=2, sort=150)
	public String getOperatortype() {
		return operatortype;
	}

	public void setOperatortype(String operatortype) {
		this.operatortype = operatortype;
	}
	
	public Date getBeginRegistrytime() {
		return beginRegistrytime;
	}

	public void setBeginRegistrytime(Date beginRegistrytime) {
		this.beginRegistrytime = beginRegistrytime;
	}
	
	public Date getEndRegistrytime() {
		return endRegistrytime;
	}

	public void setEndRegistrytime(Date endRegistrytime) {
		this.endRegistrytime = endRegistrytime;
	}
		
	public Date getBeginFactorytime() {
		return beginFactorytime;
	}

	public void setBeginFactorytime(Date beginFactorytime) {
		this.beginFactorytime = beginFactorytime;
	}
	
	public Date getEndFactorytime() {
		return endFactorytime;
	}

	public void setEndFactorytime(Date endFactorytime) {
		this.endFactorytime = endFactorytime;
	}
		
}